package com.hanthink.system.service.repair;

import java.util.List;
import java.util.Map;

import com.hanthink.common.core.domain.AjaxResult;
import com.hanthink.common.core.domain.model.LoginUser;
import com.hanthink.system.domain.repair.RequestInfo;

/**
 * @author Administrator 保修单操作服务类
 */
public interface IResquestInfoService {
	/**
	 * 查询工厂对应待指派保修单集合
	 * 
	 * @param siteKey 工厂Key
	 * @return 待指派报修单集合
	 */
    List<RequestInfo> selectRequestinforList(Long siteKey);

	List<RequestInfo> selectRequestinforListPlus(Map<String, Object> params);

	List<RequestInfo> selectRequestinforListnotget(Map<String, Object> params);

	List<RequestInfo> selectRequestinforListget(Map<String, Object> params);



	List<RequestInfo> selectRequestinforListallocation(Map<String, Object> params);


	int updateassign(Map<String, Object> map);

	List<RequestInfo> selectRequestinforListbx(Long siteKey);

	List<RequestInfo> selectRequestinforListbxbyCode(Map<String, Object> params);
	/**
	 * 更新保修单信息
	 * 
	 * @param map 保修单map
	 *
	 */
    int updateRequest(Map<String, Object> map);
	
	/**
     * 通过工厂KEY查询已指派的报修单
     * 
     * @param siteKey 工厂Key
     * @return 结果
     */
    List<RequestInfo> selectCheckedList(Long siteKey);


	List<RequestInfo> checkedListzhengyi1(String siteKey);


	List<RequestInfo> checkedListzhengyi2(String siteKey);

	int  checkedListzhengyi3(Long siteKey);

	int  checkedListzhengyi31(Long siteKey);

	int  checkedListzhengyi32(Long siteKey);

	int  checkedListzhengyi6(Map<String, Object> map);

	int  checkedListzhengyi88(Map<String, Object> map);

	int  checkedListzhengyi61(Map<String, Object> map);

	int  checkedListzhengyi62(Map<String, Object> map);
	int  checkedListzhengyi7(Map<String, Object> map);

	List<RequestInfo> checkedListzhengyi10(Map<String, Object> map);

	List<RequestInfo> checkedListzhengyi15(Map<String, Object> map);



	List<RequestInfo> checkedListzhengyi4(Long siteKey);

	List<RequestInfo> checkedListzhengyi50(Long siteKey);

	List<RequestInfo> checkedListzhengyi51(Long siteKey);
	List<RequestInfo> checkedListzhengyi99(Map<String, Object> map);
	List<RequestInfo> checkedListzhengyi5(Long siteKey);


	List<RequestInfo> selectCheckedListOverTime();
	/**
	 * 查询当前机台未完成维修的的报修单
	 * 
	 * @param RequestInfo 报修单
	 * @return 结果
	 */
    List<RequestInfo> selectNoFinishedRequestVo(RequestInfo requestInfo);
	
	/**
     * 新增插入报修单信息
     * 
     * @param params 报修单
     * @return 结果
     */
    int insertRequest(RequestInfo requestInfo);
	
	/**
	 * 报修单接单
	 * 
	 * @param map 保修单map
	 *
	 */
    int orderRequest(Map<String, Object> map);

	int orderRequestplus(Map<String, Object> map);

	int orderRequestget(Map<String, Object> map);


	int orderRequestplusfirst(Map<String, Object> map);
	/**
	 * 催促报修单
	 * 
	 * @param requestId 保修单ID
	 * @param loginUser 登录用户
	 *
	 */
    AjaxResult orderPrompt(Long requestId, LoginUser loginUser);
	
	void updateCheckedListOverTime(Long id);

	public String selectRequestVoByName(String equipName);
}
